<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
require_once(APPPATH.'classes/abstract/udbase.php');
require_once(APPPATH.'classes/abstract/udentity.php');
require_once(APPPATH.'classes/estado.php');
require_once(APPPATH.'classes/cidade.php');
require_once(APPPATH.'classes/item.php');
require_once(APPPATH.'classes/segmento.php');
require_once(APPPATH.'classes/categoria.php');
require_once(APPPATH.'classes/empresa.php');

/**
* Controles para os Cardápios
*/
class Cardapio_model extends CI_Model
{	
	public function __construct()
	{
		parent::__construct();
	}

	public function getCardapioEmpresa($idEmpresa = ''){
		$retorno = array();

		if(empty($idEmpresa)){
			return $retorno;
		}

		$select = ' 
					SELECT cod_categoria_auto 
					  FROM categoria
					 WHERE cod_categoria_auto IN ( 
					       SELECT DISTINCT i.cod_categoria_auto
					         FROM item i
							INNER JOIN tamanho_item ti ON ti.cod_item_auto = i.cod_item_auto
					        WHERE i.cod_empresa_auto = ?
					          AND i.item_indisponivel <> 1
					            )';

		$query = $this->db->query($select, $idEmpresa);

		if($query && $query->num_rows() > 0){
			foreach($query->result() as $row){
				$retorno[] = new Categoria($row->cod_categoria_auto);
			}
		}

		return $retorno;

	}

	public function todasEmpresas()
	{
		
	}

	public function getSegmentos($id='')
	{
		$segmento = new Segmento();
		
		return $segmento->getSegmentos();
	}

	public function getItens($idEmpresa='')
	{
		// se empresa estiver setada retorna todos os itens daquela empresa, senão
		// retorna todos os itens cadastrados
		if (!empty($idEmpresa))
		{
			$select = '
				select 
					I.cod_item_auto,
					I.cod_empresa_auto,
					I.desc_item,
					I.obs
				from 
					item I
					inner join empresa E on E.cod_empresa_auto = I.cod_empresa_auto
					inner join tamanho_item TI on TI.cod_item_auto = I.cod_item_auto					
				where I.cod_empresa_auto = ?
					and I.item_indisponivel <> 1
				';

			$query = $this->db->query($select, $idEmpresa);			
		}
		else
		{
			$select = '
				select 
					I.cod_item_auto,
					I.cod_empresa_auto,
					I.desc_item,
					I.obs
				from 
					item I
					inner join empresa E on E.cod_empresa_auto = I.cod_empresa_auto
					inner join tamanho_item TI on TI.cod_item_auto = I.cod_item_auto
				where 
					I.item_indisponivel <> 1
				';

			$query = $this->db->query($select)	;
		}

		return $query;
	}
}